第 1 步 - 准备工程中的节点
在本教程这一步骤中,您将创建标签和过滤器,以准备工程中的节点在多个帧上完全渐进渲染。
教程资产
本教程的起点资料是存储在 <KanziWorkspace>/Tutorials/Progressive rendering/Start 中的 Progressive rendering.kzproj Kanzi Studio 工程文件。
<KanziWorkspace>/Tutorials/Progressive rendering/Completed 目录中包含本教程中已完成的 Kanzi Studio 工程。
起点工程包含完成本教程所需的内容:
- Car Scene 预设件包含一个摄像机、一个光源、一个汽车模型以及车的阴影。
在本教程中,您要在 3 个帧上渲染 Car Scene 预设件中的以下节点:- Pass 1 Models 包含汽车内饰、轮胎和车窗的模型。
- Pass 2 Models 包含汽车外部部件的模型。
- Car Shadow 包含车的阴影
- Fast Reverse Rotation 和 Slow Rotation 时间线序列定义您在本教程中最后一步中使用的动画,让车以两个不同速度和方向旋转。两个时间线序列播放相同的动画,但每个 时间线序列 (Timeline Sequence) 中的 时间线条目 (Timeline Entry) 为动画设置的时长和回放模式各不相同。
- Toggle Car Animation 节点使用 Toggle Car Animation State Manager 状态机控制更改速度仪和转速仪位置的动画,并移动速度和转速的指针。
在 预览 (Preview) 中,点击两个仪表之间的区域,在 Stop、Slow 和 Fast 状态之间进行迁移。
工程开始时,Slow 和 Fast 状态相同。在本教程最后一步中,您将使用这些状态播放 Slow Rotation 和 Fast Reverse Rotation 时间线序列来旋转汽车。
准确需要进行渐进渲染的节点
这一小节中,创建 标签过滤器 (Tag Filter) 资源收集想要在不同渲染通道中渲染的节点。在教程的下一步中,使用渲染通道中的过滤器将这些节点的渲染分布在多个帧上。
本教程工程开始时,已将 Car Model 节点的内容分成以下几个部分:Pass 1 Models、Pass 2 Models 和Car Shadow。在准备您自己需要渐进渲染的内容时,为确保帧率稳定,通过 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点使用的渲染通道将渲染分布到偶数部分。要将渲染分布到偶数部分,请确保每个渲染通道渲染:
- 边数大致相同的多边形
- 复杂度相似的着色器
- 大小相似的纹理
- 数量相似的纹理
要准备需要渐进渲染的节点,请执行以下操作:
- 在 Kanzi Studio 中打开存储在 <KanziWorkspace>/Tutorials/Progressive rendering/Start 目录中的工程。
- 为需要在不同帧中渲染的节点打上标签:
- 在预设件 (Prefabs) > Car Scene > Car Model 中选择 Pass 1 Models 节点,并在属性 (Properties) 中将标签 (Tags) 属性设为 Pass 1。
Pass 1 Models 节点将包含汽车内饰、轮胎和车窗模型的节点分为一组。
打标签时,一个节点的子孙节点将继承它的标签。
- 在预设件 (Prefabs) > Car Scene > Car Model 中选择 Pass 2 Models 节点,并在属性 (Properties) 中将标签 (Tags) 属性设为 Pass 2。
- 在 预设件 (Prefabs) > Car Scene 中选择 Car Shadow 节点,并在属性 (Properties) 中将 标签 (Tags) 属性设置为 Pass 3。
- 在 预设件 (Prefabs) > Car Scene 中选择 Lights 节点,在 属性 (Properties) 中点击 标签 (Tags) 属性旁边的 标签 (Tags) 按钮,并选择 Pass 2、Pass 1 和 Pass 3。
Kanzi 过滤光源的方式和过滤其他节点的方式相同。 当创建只包含某一特定标签的过滤器时,只有当您已将标签添加到光源节点中,照亮所标记节点的光源才会包含在过滤器中。
- 创建一个 标签过滤器 (Tag Filter) 收集渲染第一通道的节点:
- 在素材库 (Library) > 渲染 (Rendering) 中按下 Alt 并右键点击对象源 (Object Source),选择标签过滤器 (Tag Filter) 并命名为 Filter Pass 1。
标签过滤器 (Tag Filter) 收集被分配了特定标签的 3D 节点。
- 在属性 (Properties) 中将已包括标签 (Included Tags) 属性设为Pass 1 标签。
将 Filter Pass 1 标签过滤器设置为收集带有 Pass 1 标签的 Pass 1 Models 和 Lights 节点。由于节点继承其父节点的标签,因此,该过滤器收集 Pass 1 Models 和 Lights 节点的所有子孙节点。
在本教程下一步中,您将使用该过滤器收集展示内饰、轮胎和车窗的节点,以及光源节点。
- 重复上一步骤:
- 创建一个名为“Filter Pass 2”的 标签过滤器 (Tag Filter),并设置为收集具有 Pass 2 标签的节点。
在本教程下一步中,您将使用该过滤器收集展示汽车模型外部部件的节点,以及灯光节点。
- 创建一个名为“Filter Pass 3”的 标签过滤器 (Tag Filter),并设置为收集具有 Pass 3 标签的节点。
在本教程下一步中,您将使用该过滤器收集展示车辆阴影的节点,以及光源节点。
< 简介
下一步 >
另请参阅
如需详细了解如何在 Kanzi 应用程序中使用过滤器,请参阅过滤器。
要详细了解有关如何使用 Kanzi Studio 中标签的信息,请参阅使用标签。
打开导航